package org.example.springboot.controller;

import jakarta.annotation.Resource;
import org.example.springboot.common.Result;
import org.example.springboot.entity.Vedio;
import org.example.springboot.entity.WxMember;
import org.example.springboot.service.VedioService;
import org.example.springboot.utils.AliOSSUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.AbstractList;
import java.util.Date;
import java.util.List;
@CrossOrigin
@RestController
@RequestMapping("/video")
public class VedioController {
    @Resource
    private VedioService vedioService; //引入service包的方法
    @Autowired
    private AliOSSUtils ossClient;
    String url;
    String formattedDate;

    @CrossOrigin(origins = "http://localhost:5173")//允许前端跨域访问
    @GetMapping("/select")
    public Result select(){
        List<Vedio> list = vedioService.select();
//        System.out.println("实际查询结果：" + list);
        return Result.success(list);
    }


    @CrossOrigin(origins = "http://localhost:5173")//允许前端跨域访问
    @PostMapping("/update")
    public Result update(
            String title,  // 前端传递的标题
            Integer type,  // 类型（3=自制，6=转载）
            String category,  // 分区
            String tags,  // 标签
            String duration, //视频时长
            String nickname, //登录的用户昵称
            String headimgurl, //头像
            String openid, //openid
            @RequestParam("videoFile") MultipartFile file // 接收视频文件
    ) throws IOException {
        //把文件上传到阿里oss服务器中
        url = ossClient.upload(file);
        // 记录上传时间（当前系统时间）
        // 获取当前日期
        LocalDate currentDate = LocalDate.now();

        // 定义日期格式（年-月-日，月份和日期不补零）
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-M-d");

        // 格式化日期
        formattedDate = currentDate.format(formatter);

        System.out.println(formattedDate); // 输出示例：2025-8-7

        //创建一个视频对象
        Vedio vedio = new Vedio();
        System.out.println(formattedDate);

        vedio.setDate(formattedDate);
        vedio.setTitle(title);
        vedio.setNickname(nickname);
        vedio.setVediourl(url);
        vedio.setComment("0");
        vedio.setView("0");
        vedio.setTime(duration);
        vedio.setHeadimgurl(headimgurl);
        vedio.setOpenid(openid);

        //把上传的视频存入数据库里
        vedioService.save(vedio);
        System.out.println(vedio);

        return Result.success(vedio);
    }
}
